package avicit.bdp.dgs.qa.dao;

import avicit.bdp.common.base.BaseDAO;
import avicit.bdp.dgs.qa.dto.SubscribeDTO;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2023-03-30
 * @类说明：SubscribeDAO
 * @修改记录：
 * @注意事项：
 * @主要功能：质量作业订阅DAO
 */
@Repository
public interface SubscribeDAO extends BaseDAO<SubscribeDTO> {
    /**
     * 分页查询-根据条件查询订阅信息
     *
     * @param jobId
     * @return
     */
    Page<SubscribeDTO> querySubscribeByCond(@Param("jobId") String jobId);

    /**
     * 删除/批量删除订阅信息
     *
     * @param idList
     * @param jobId
     * @return
     */
    int deleteSubscribeByCond(@Param("jobId") String jobId, @Param("idList") List<String> idList);

    /**
     * 判读订阅人是否重复
     *
     * @param jobId  作业ID
     * @param userId 用户名ID
     * @param type
     * @return
     */
    long selectNameCount(@Param("jobId") String jobId, @Param("userId") String userId, @Param("type") Integer type);

    /**
     * 根据条件查询订阅信息
     *
     * @param jobId
     * @param userIdList
     * @return
     */
    List<SubscribeDTO> getSubscribeListByCond(@Param("jobId") String jobId, @Param("userIdList") List<String> userIdList);
}
